home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / GRAPHICS / GMSMTH01.ZIP / DTEXT.C < prev    next >
Encoding:
C/C++ Source or Header  |  1995-12-08  |  2.6 KB  |  130 lines

  1. /*
  2.  
  3.     dtext.c
  4.  
  5.     Internet: alexad3@icebox.iceonline.com
  6.     Copyright 1995, August 6 by Alec Russell, ALL rights reserved
  7.  
  8.     Show text in a pick list - Yup this is all it takes with our lib.
  9.  
  10.     Created - 1995/8/6
  11.  
  12.     History:
  13.         New file
  14.  
  15. */
  16.  
  17. #include <stdio.h>
  18. #include <stdlib.h>
  19. #include <ctype.h>
  20. #include <string.h>
  21. #include <conio.h>
  22. #include <alloc.h>
  23. #include <dos.h>
  24. #include <time.h>
  25.  
  26. #include <pr2.h>
  27. #include <palette.h>
  28. #include <readlbm.h>
  29. #include <fstring.h>
  30. #include <g_io.h>
  31. #include <gui.h>
  32. #include <erase.h>
  33. #include <die.h>
  34. #include <gmalloc.h>
  35. #include <gsound.h>
  36.  
  37. #include <Xlib_all.h>
  38.  
  39. /* ---------------------- main() ------------------------- August 6,1995 */
  40. void main(int argc, char *argv[])
  41. {
  42.    event_t event;
  43.    gui_all_u *p;
  44.    short done=0;
  45.    char fname[128];
  46.  
  47.    if ( argc > 1 )
  48.       strcpy(fname, argv[1]);
  49.    else
  50.       strcpy(fname, "sell.txt");
  51.  
  52.    clear_pr2();
  53.  
  54.    /* its important to init_exit() 1st */
  55.    init_exit();
  56.    init_mem_list();
  57.    init_xmode_video();
  58.    init_timer();
  59.  
  60.    init_events("crshair.cbm");
  61.    init_gb_erase(20, 64000u); // overkill
  62.  
  63.    // clear the screen to colour zero
  64.    x_screen_fill(HiddenPageOffs, 0);
  65.    x_screen_fill(VisiblePageOffs, 0);
  66.  
  67.    /* set palette */
  68.    if ( load_palette("demo.pal", palette) )
  69.       die("error getting palette");
  70.    setvgapalette(palette);
  71.  
  72.    /* -- load gui */
  73.    page=0;
  74.    if ( gui_load_gadget("dtext.gui", "") )
  75.       die("no dtext.gui");
  76.    /* -- init pick list */
  77.    p=get_id_gadget(5);
  78.    if ( p )
  79.       {
  80.       gui_load_font(2, "");
  81.       p->plist.font_id=2;
  82.       gui_init_plist_file((gui_plist_t *)p, fname);
  83.       }
  84.    else
  85.       die("plist (5) not found");
  86.  
  87.    /* -- display text */
  88.  
  89.    while ( !done )
  90.       {
  91.       draw_erase_rects(&(gb_h[page]));
  92.  
  93.       if ( gui_do_gadget(&event) )
  94.          {
  95.          switch ( event.type )
  96.             {
  97.             case E_GUI:
  98.                if ( event.d1 == 4 )
  99.                   done=1;
  100.                break;
  101.  
  102.             case E_KEY:
  103.                if ( event.d1 == ESC )
  104.                   done=1;
  105.                break;
  106.             }
  107.          }
  108.  
  109.       /* draw the mouse */
  110.       gui_draw_mouse();
  111.  
  112.       /* page flip */
  113.       x_page_flip(PhysScrnXOffs, PhysScrnYOffs);
  114.       page= page ? 0 : 1;
  115.       }
  116.  
  117.    /* -- de-init */
  118.    gui_unload_gadget();
  119.    deinit_gb_erase();
  120.    gui_unload_all_fonts();
  121.    deinit_events();
  122.    deinit_xmode_video();
  123.    deinit_timer();
  124.  
  125. }
  126.  
  127.  
  128. /* ------------------------------ EOF -------------------------------- */
  129.  
  130.